package com.gxa.sso.controller;

import com.gxa.sso.exception.CustomerException;
import com.gxa.sso.pojo.User;
import com.gxa.sso.result.Result;
import com.gxa.sso.result.ResultUtils;
import com.gxa.sso.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Map;

/**
 * Created by zxd on 2020/12/16
 **/
@RequestMapping("/user")
@Controller
@ResponseBody
@Api(description = "登录相关接口文档")
public class UserController {


    @Autowired
    private UserService userService;

    @RequestMapping(value = "/login")
    @ApiOperation(value = "登录",notes = "登录",httpMethod = "POST")
    public Result sendLoginSms(@RequestParam String phone,@RequestParam String code) throws CustomerException {
        if(!phone.matches("^[1](([3][0-9])|([4][5,7,9])|([5][0-9])|([6][6])|([7][3,5,6,7,8])|([8][0-9])|([9][8,9]))[0-9]{8}$")){
            return ResultUtils.buildFail(5003,"手机号码格式不合法");
        }
        Map<String, String> result = userService.login(phone, code);
        return ResultUtils.buildSuccess(result);
    }


    @RequestMapping(value = "/query")
    @ApiOperation(value = "查询登录信息",notes = "查询登录信息",httpMethod = "POST")
    public Result query(@RequestParam String token) throws CustomerException {
        User user = userService.queryUserByToken(token);
        return ResultUtils.buildSuccess(user);
    }


}
